<?php

/**
 * ws actions.
 *
 * @package    BecArTe
 * @subpackage ws
 * @author     Your name here
 * @version    SVN: $Id: actions.class.php 23810 2009-11-12 11:07:44Z Kris.Wallsmith $
 */
class wsActions extends sfActions
{
 /**
  * Executes index action
  *
  * @param sfRequest $request A request object
  */
  public function executeIndex(sfWebRequest $request)
  {
  }


  /**
   * Retorna las solicitudes En Presentación y En Evaluación de una persona así
   * como sus becas Otorgadas y Vigentes, en base a su tipo y numero de documento.
   *
   * @WSMethod(name='ObtenerEstadoDeTramites', webservice='wsBecArTeApi')
   *
   * @param string $tipo_doc Tipo Documento (DNI, PAS, LE, LC)
   * @param string $numero Número de documento sin puntos ni guiones. 10 caracteres.
   *
   * @return string[] Estados de tramites
   */
  public function executeConsulta(sfWebRequest $request)
  {
    $tipo = $request->getParameter('tipo_doc');
    $numero = $request->getParameter('numero'); 
//    if(!$this->isSoapRequest()) { $tipo = 'DNI'; $numero = '31344366'; } //prueba perez, roberto
    if($tipo != null && $numero != null) {
        $alumno = Doctrine_Core::getTable('Alumno')
                    ->getByTipoYNumeroDeDocumento($tipo, $numero);
        if(!$alumno) {
           $result = array('No se encontró ningún aspirante/beneficario con la identificación suministrada');
        } else {
           $result = array( 'Beneficiario: '.$alumno );
           $tramites = $alumno->getTramitesActuales();
           if(!count($tramites)) $result[] = 'No hay solicitudes ni becas actuales.';
           foreach($tramites as $t) {
             if(get_class($t) == 'Solicitud') { 
             //solicitudes y becas otorgadas no forman parte de una jerarquia asi que pregunto así, mas rapido que ver su estado para determinarlo....
//           if(in_array($t->getEstado(), array('En Presentación','En Evaluación'))) {
               $result[] = 'SOLICITUD BECA "'.$t->getBeca()->getNombre().'" '.
                           '('.$t->getEstado().', solicitada el '.
                             $t->getDateTimeObject('fecha')->format('d-m-Y').
                           ')';
             } else {
               $result[] = 'BECA "'.$t->getBeca()->getNombre().'" '.
                           '('.$t->getEstado().', otorgada el '.
                             $t->getDateTimeObject('fecha')->format('d-m-Y').
                           ')';
             }
           }
        }
        $this->tramites = $result;
        return sfView::SUCCESS;
    } else {
        return sfView::ERROR;
    } 
  }
}
